package com.fin.quant.app.asset.service;

import com.fin.quant.app.vo.DividendHistoryRangeVO;
import com.fin.quant.app.vo.DividendYieldRangeVO;
import com.fin.quant.app.vo.FilterOptionsVO;
import com.fin.quant.app.vo.TagVO;
import com.fin.quant.rpc.common.Result;

import java.util.List;

/**
 * 筛选应用服务接口
 */
public interface FilterService {

    /**
     * 获取筛选选项
     */
    Result<FilterOptionsVO> getFilterOptions();

    /**
     * 获取行业列表
     */
    Result<List<String>> getSectors();

    /**
     * 获取市场列表
     */
    Result<List<String>> getMarkets();

    /**
     * 获取资产类型列表
     */
    Result<List<String>> getAssetTypes();

    /**
     * 获取风险等级列表
     */
    Result<List<String>> getRiskLevels();

    /**
     * 获取标签列表
     */
    Result<List<TagVO>> getTags(String category);

    /**
     * 获取股息率范围
     */
    Result<DividendYieldRangeVO> getDividendYieldRange();

    /**
     * 获取分红历史范围
     */
    Result<DividendHistoryRangeVO> getDividendHistoryRange();
}
